package com.winsdom.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDateTime;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 账单表
 * </p>
 *
 * @author 
 * @since 2025-05-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("bills")
public class Bills implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 账单ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 账单编号
     */
    private Long billNumber;

    /**
     * 计费主表ID
     */
    private Long billingMainId;

    /**
     * 账单类型：1-周期性账单，2-临时性账单
     */
    private Integer billType;

    /**
     * 收款方名称(物业公司等)
     */
    private String collectorName;

    /**
     * 通知状态：0-未通知，1-已通知
     */
    private Integer notifyStatus;

    /**
     * 开票方式：1-先票后款，2-先款后票，3-未开票
     */
    private Integer invoiceMethod;

    /**
     * 开票状态：0-待申请，1-已申请，2-已开票,3-未开票
     */
    private Integer invoiceStatus;

    /**
     * 欠费状态(1:未结清, 2:已交清)
     */
    private Integer arrearsStatus;

    /**
     * 欠费金额
     */
    private BigDecimal arrearsAmount;

    /**
     * 滞纳金(定时任务)
     */
    private BigDecimal lateFeeAmount;

    /**
     * 抵扣金额
     */
    private BigDecimal deductionAmount;

    /**
     * 冲抵金额
     */
    private BigDecimal offsetAmount;


    /**
     *  创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;
}
